<template>
  <div class="contarner-page" @click.stop="showLanguageHandel">
    <page-header ref="languageRef"></page-header>
    <main>
      <div class="downloader flex_ccenter" v-if="!success">
        <div class="container">
          <div class="banner-heading flex_ccenter">
            <div class="heading-item">
              <h1 class="title fw700 f-42 c-fff">
                Λήψη βίντεο Instagram Reels
              </h1>
              <h2 class="sub c-fff f-18 fw400">
                Instagram - Reels Video Downloader
              </h2>
            </div>
          </div>
          <div class="form flex_center">
            <div class="input-box flex_between">
              <!-- <input
                    type="text"
                    class="input f-18"
                    v-model="input"
                    @input="handleInput"
                    @paste="handleInput"
                    placeholder="Paste URL Instagram"
                    list="fruits"
                    name="fruit"
                  />
                  <datalist id="fruits">
                    <option value="Apple"></option>
                    <option value="Banana"></option>
                    <option value="Cherry"></option>
                  </datalist> -->
              <input
                type="text"
                class="input f-18"
                v-model="input"
                :disabled="isHttpLoading"
                @input="handleInput"
                @paste="handleInput"
                @keydown="sendDownload($event)"
                placeholder="Paste URL Instagram"
              />
              <div
                class="Paste shou flex_center"
                @click="handleClickPasted"
                v-if="input == ''"
              >
                <div class="btnbg"></div>
                <div class="f-16 c-000 fw700">Paste</div>
              </div>
              <div
                class="clear shou flex_center"
                v-if="input != '' && !isHttpLoading"
                @click.stop="input = ''"
              >
                <div class="btnbg"></div>
                <div class="f-16 c-000 fw700">Clear</div>
              </div>
            </div>
            <div
              v-if="!isHttpLoading"
              @click.stop="downloadHandel"
              class="submit shou fw700 c-fff flex_center"
            >
              Download
            </div>
            <div v-else class="submit shou fw700 c-fff flex_center">
              Please wait
            </div>
          </div>
          <div class="app-submit flex_ccenter">
            <div
              class="submit flex_center"
              v-if="!isHttpLoading"
              @click.stop="downloadHandel"
            >
              <div class="fw700 c-fff f-21">Download</div>
            </div>
            <div class="submit flex_center" v-else>
              <div class="fw700 c-fff f-21">Please wait</div>
            </div>
          </div>
          <div class="loading" v-if="isHttpLoading">
            <div class="loading-dots flex_center">
              <div class="dot"></div>
              <div class="dot"></div>
              <div class="dot"></div>
              <div class="dot"></div>
            </div>
            <div class="tips f-18 flex_center">
              <div>Ανάκτηση δεδομένων, περιμένετε μερικά δευτερόλεπτα!</div>
            </div>
          </div>
          <div class="error flex_ccenter" v-if="httpError1">
            <div class="hono flex_">
              <div class="error-img"></div>
              <div class="error-img"></div>
              <div class="error-img"></div>
            </div>
            <div class="errMsg f-18">
              Ο ιστότοπος δεν μπορεί να επεξεργαστεί τον σύνδεσμό σας επειδή είναι ιδιωτικός
            </div>
          </div>
          <div class="error flex_ccenter" v-if="httpError2">
            <div class="hono flex_">
              <div class="error-img"></div>
              <div class="error-img"></div>
              <div class="error-img"></div>
            </div>
            <div class="errMsg f-18">
              Τα δεδομένα που εισαγάγατε δεν είναι σύνδεσμος, εισάγετε έναν έγκυρο σύνδεσμο για
               παράδειγμα:
              <div>https://www.instagram.com/reel/Cml9qu-ISqx</div>
            </div>
          </div>
        </div>
      </div>
      <!-- 广告位start -->
      <!-- 广告位end -->
      <div class="container" v-if="!success">
        <div class="body-content">
          <div class="app-box">
            <div class="app-box__info">
              <h3 class="app-box__title f-21 fw700 c-000">
                Λήψη με την εφαρμογή Insta Downloader
              </h3>
              <p class="f-16 c-ccc">
                Η εφαρμογή μας προσφέρει μια γρήγορη και απλή λύση για τη λήψη βίντεο Instagram, παρέχοντας βίντεο ποιότητας HD χωρίς υδατογραφήματα.
              </p>
            </div>
            <div class="app-link">
              <a 
                  target="_blank" href="https://play.google.com/store/apps/details?id=ins.freevideodownload.pro">
                <img src="/static/images/google-play.webp" alt="Download app " />
              </a>
              <a href="https://apps.apple.com/us/app/repost-for-video-save-story/id6462401460"  target="_blank">
                <img src="/static/images/IOS.webp" alt="Download app " />
              </a>
            </div>
          </div>
          <div class="quick-info">
            <h3 class="f-32 c-000">Τι σημαίνουν τα Reels στο Instagram;</h3>
            <p class="f-16 c-ccc">
              Με δύο δυνατότητες για διάρκεια — 15 ή 30 δευτερόλεπτα — Καρούλια Instagram
               είναι ένα νέο χαρακτηριστικό που σας επιτρέπει να κάνετε ταινίες μικρού μήκους. Καρούλια συνδυάζει
               Οι εκπληκτικές δυνατότητες επεξεργασίας του Instagram με μερικά παρόμοια με το Tiktok
               χαρακτηριστικά, αλλά εξακολουθεί να είναι συναρπαστικό όταν το χρησιμοποιούν οι χρήστες. Οι χρήστες μπορούν
               δημιουργήστε πρωτότυπες ταινίες επεξεργάζοντας και σχεδιάζοντας συναρπαστικά βίντεο.
            </p>
          </div>
          <div class="features c-fff">
            <h3 class="h3 fw700 f-21">
              Χαρακτηριστικά του προγράμματος λήψης Instagram Reels
            </h3>
            <div class="attributes-list flex_between">
              <div class="item flex_">
                <div class="bgimg"></div>
                <div class="f-14 c-fff">
                  Ένας γρήγορος, απλός και ασφαλής τρόπος λήψης του Instagram Reels.
                </div>
              </div>
              <div class="item flex_">
                <div class="bgimg"></div>
                <div class="f-14 c-fff">
                  Μπορείτε να αποκτήσετε πρόσβαση στον λογαριασμό σας στο Instagram χωρίς να συνδεθείτε.
                </div>
              </div>
              <div class="item flex_">
                <div class="bgimg"></div>
                <div class="f-14 c-fff">
                  Το απλό κλικ σε ένα κουμπί στο Instagram σας επιτρέπει
                   κατεβάστε τις φωτογραφίες και τα βίντεό του.
                </div>
              </div>
              <div class="item flex_">
                <div class="bgimg"></div>
                <div class="f-14 c-fff">
                  Λήψη και αποθήκευση εικόνων και βίντεο με το πρωτότυπό τους
                   ποιότητα και ανάλυση.
                </div>
              </div>
              <div class="item flex_">
                <div class="bgimg"></div>
                <div class="f-14 c-fff">
                  Από προσωπικούς λογαριασμούς, κατεβάστε και αποθηκεύστε το Instagram Reels.
                </div>
              </div>
            </div>
          </div>
          <div class="how">
            <div class="how-title">
              <h3 class="f-36 c-000 italic">
                Είναι δυνατόν να χρησιμοποιήσετε το Savinginsta για λήψη βίντεο από
                 Καρούλια Instagram;
              </h3>
            </div>
            <div class="steps">
              <div class="step">
                <div class="one">
                  <span class="fw700 c-blue f-16">Βήμα 01:</span>
                  <span class="f-16 c-000">
                    μεταβείτε στη δημοσίευση Instagram που θέλετε να κατεβάσετε,
                     στη συνέχεια επιλέξτε το βίντεο Reels.</span
                  >
                </div>
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Βήμα 02:</span>
                <span class="f-16 c-000">
                  Προς το παρόν, αντιγράψτε τη διεύθυνση URL του βίντεο του Instagram Reels.</span
                >
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Βήμα 03:</span>
                <span class="f-16 c-000"
                  >Αντιγράψτε τη διεύθυνση URL από το Instagram, επικολλήστε την στο Savinginsta
                   γραμμή εργαλείων και πατήστε "Λήψη".</span
                >
              </div>
            </div>
            <div class="user-note f-16">
              <div class="app-tip"></div>
              <p>
                Μπορείτε να κάνετε λήψη των ταινιών και των φωτογραφιών που έχετε ανεβάσει από τον λογαριασμό σας
                 με τη βοήθεια των εργαλείων μας. Εάν χρησιμοποιείτε τα εργαλεία μας για παραβίαση
                 πνευματικής ιδιοκτησίας ή ιδιωτικότητας άλλων, διατηρούμε το δικαίωμα
                 αρνηθεί να παρέχουμε την υπηρεσία μας.
              </p>

              <a class="fw700 c-blue" href="/terms-of-service"
                >Κάντε κλικ εδώ για να δείτε τους πλήρεις Όρους Παροχής Υπηρεσιών μας.</a
              >
            </div>
          </div>
          <div class="faq-section">
            <h3 class="faq-title f-36 c-000 italic">FAQ</h3>
            <div class="accordion">
              <div
                id="faq"
                itemscope="itemscope"
                itemtype="https://schema.org/FAQPage"
              >
                <div
                  itemprop="mainEntity"
                  itemscope="itemscope"
                  itemtype="https://schema.org/Question"
                  class="accordion-item"
                  :key="k"
                  v-for="(item, k) in faqList"
                >
                  <h4 itemprop="name" class="accordion-title fw700 f-16">
                    {{ item.title }}
                  </h4>
                  <div
                    itemprop="acceptedAnswer"
                    itemscope=""
                    itemtype="https://schema.org/Answer"
                  >
                    <div
                      itemprop="text"
                      class="accordion-text f-16 c-ccc fw400"
                    >
                      {{ item.content }}
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- 解析结果 start -->
      <div class="container" v-if="success">
        <success-content
          @refresh="refresh"
          :list="successList"
        ></success-content>
      </div>
      <!-- 解析结果 end -->
    </main>
    <footer>
      <div class="container">
        <div class="footer-content">
          <div class="footer-link">
            <div class="row flex_between">
              <div class="col-12">
                <div class="link-label fw700 c-000 f-21">Εργαλεία</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/el/instagram-story-download" 
                      >Instagram Story Downloader</nuxt-link
                    >
                  </li>
                  <li>
                    <nuxt-link to="/el/instagram-reels-video-download" 
                      >Πρόγραμμα λήψης τροχών Instagram</nuxt-link
                    >
                  </li>
                  <li>
                    <a href="https://savingtik.com/" target="_blank"
                      >Tiktok Downloader</a
                    >
                  </li>
                </ul>
              </div>
              <div class="col-6">
                <div class="link-label fw700 c-000 f-21">Υποστήριξη</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/contact"> Επικοινωνία </nuxt-link>
                  </li>
                  <li>
                    <nuxt-link to="/blog"> Blog </nuxt-link>
                  </li>
                </ul>
              </div>
              <div class="col-6">
                <div class="link-label fw700 c-000 f-21">Νομικός</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/terms-of-service">
                      Όροι χρήσης
                    </nuxt-link>
                  </li>
                  <li>
                    <nuxt-link to="/privacy-policy"> Πολιτική Απορρήτου </nuxt-link>
                  </li>
                </ul>
              </div>
            </div>
          </div>
          <div class="copyright flex_ccenter">
            <b class="fw700 f-21 c-000"
              >Δεν είμαστε συνδεδεμένοι με το Instagram ή το Meta</b
            >
            <div class="c-ccc f-16">
                © {{new Date().getFullYear()}} Insta Downloader All rights reserved.
            </div>
          </div>
        </div>
      </div>
    </footer>
  </div>
</template>
    
    <script>
import { mapState, mapGetters, mapMutations } from "vuex";
import pageHeader from "~/components/page-header.vue";
import SuccessContent from "~/components/success-content.vue";
import CryptoJS from "crypto-js";
import { handleClick, checkString } from "@/plugins/Firebase.js";
export default {
  components: { pageHeader, SuccessContent },
  head: {
    htmlAttrs: {
      lang: "el",
    },
    bodyAttrs: {
      "data-lang": "el",
    },
    title: "Λήψη βίντεο Instagram Reels - Savinginsta",
    meta: [
      { property: "og:locale", content: "el" },
      //Page Information
      {
        name: "description",
        content:
          "Με το Savinginsta Reels Video Downloader, η λήψη του Instagram Reels είναι παιχνιδάκι! Απολαύστε γρήγορες, δωρεάν και υψηλής ποιότητας λήψεις βίντεο απευθείας στη συσκευή σας",
      },

      //Schema.org Microdata
      {
        itemprop: "name",
        content: "Λήψη βίντεο Instagram Reels - Savinginsta",
      },

      // Facebook / OpenGraph
      {
        property: "og:title",
        content: "Λήψη βίντεο Instagram Reels - Savinginsta",
      },
      { property: "og:type", content: "website" },
      { property: "og:url", content: "https://savinginsta.com/el/instagram-reels-video-download" },

      {
        property: "og:description",
        content:
          "Με το Savinginsta Reels Video Downloader, η λήψη του Instagram Reels είναι παιχνιδάκι! Απολαύστε γρήγορες, δωρεάν και υψηλής ποιότητας λήψεις βίντεο απευθείας στη συσκευή σας",
      },
      //Twitter
      { name: "twitter:card", content: "summary" },
      { name: "twitter:url", content: "https://savinginsta.com/el/instagram-reels-video-download" },
      {
        name: "twitter:title",
        content: "Λήψη βίντεο Instagram Reels - Savinginsta",
      },
      {
        name: "twitter:description",
        content:
          "Με το Savinginsta Reels Video Downloader, η λήψη του Instagram Reels είναι παιχνιδάκι! Απολαύστε γρήγορες, δωρεάν και υψηλής ποιότητας λήψεις βίντεο απευθείας στη συσκευή σας",
      },
      //multilingual
      {
        name: "google",
        content: "notranslate",
      },
    ],
    link: [
      //multilingual
      {
        rel: "alternate",
        hreflang: "x-default",
        href: "https://savinginsta.com/el/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "en",
        href: "https://savinginsta.com/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "en-in",
        href: "https://savinginsta.com/in/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "vi",
        href: "https://savinginsta.com/vn/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "tr",
        href: "https://savinginsta.com/tr/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "id",
        href: "https://savinginsta.com/id/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "fr",
        href: "https://savinginsta.com/fr/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "pt",
        href: "https://savinginsta.com/pt/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "ru",
        href: "https://savinginsta.com/ru/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "es",
        href: "https://savinginsta.com/es/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "ms",
        href: "https://savinginsta.com/ms/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "ko",
        href: "https://savinginsta.com/ko/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "ja",
        href: "https://savinginsta.com/ja/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "jv",
        href: "https://savinginsta.com/jv/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "cs",
        href: "https://savinginsta.com/cs/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "de",
        href: "https://savinginsta.com/de/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "it",
        href: "https://savinginsta.com/it/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "pl",
        href: "https://savinginsta.com/pl/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "hu",
        href: "https://savinginsta.com/hu/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "nl",
        href: "https://savinginsta.com/nl/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "ro",
        href: "https://savinginsta.com/ro/instagram-reels-video-download",
      },
      {
        rel: "alternate",
        hreflang: "el",
        href: "https://savinginsta.com/el/instagram-reels-video-download",
      },
      {
        rel: "canonical",
        href: "https://savinginsta.com/el/instagram-reels-video-download",
      },
    ],
    script: [
      {
        json: {
          "@context": "http://schema.org",
          "@graph": [
            {
              "@type": "WebSite",
              name: "Savinginsta",
              alternateName: "Instagram downloader",
              url: "https://savinginsta.com",
            },
            {
              "@type": "WebPage",
              name: "Λήψη βίντεο Instagram Reels - Savinginsta", //title
              inLanguage: "el", //不同语种
              description:
                "Με το Savinginsta Reels Video Downloader, η λήψη του Instagram Reels είναι παιχνιδάκι! Απολαύστε γρήγορες, δωρεάν και υψηλής ποιότητας λήψεις βίντεο απευθείας στη συσκευή σας. ", //元描述
              image: "https://savinginsta.com/static/images/savinginsta_thumbnail.jpg", //绝对路径
              url: "https://savingtinsta.com/el/instagram-reels-video-download",
            },
          ],
        },
        type: "application/ld+json",
      },
    ],
  },
  data() {
    return {
      input: "",
      success: false,
      isHttpLoading: false,
      httpError1: false,
      httpError2: false,
      current: 0,
      successList: [],
      faqList: [
        {
          title: `Η λήψη του Reels απαιτεί σύνδεση?`,
          content: `Ευτυχώς, μπορείτε να αποσυνδεθείτε από τον λογαριασμό σας. Η λήψη του είναι απλή και ασφαλής για εσάς.`,
        },
        {
          title: `Είναι παράνομη η λήψη βίντεο από το Instagram Reels;`,
          content: `Μπορείτε να κατεβάσετε βίντεο από το Insta Reels. Ωστόσο, θα πρέπει να έρθετε σε επαφή με τον κάτοχο του βίντεο εάν το χρησιμοποιείτε για κέρδος ή για οποιονδήποτε άλλο λόγο που αφορά τα δικαιώματα του κατόχου. Για ζητήματα που σχετίζονται με πνευματικά δικαιώματα, η Savinginsta δεν φέρει ευθύνη.`,
        },
        {
          title: `Τα βίντεο του Instagram Reels απαιτούν πληρωμή για να τα κατεβάσετε;`,
          content: `Δωρεάν για όλους. Οι διαφημίσεις απλώς εισάγονται για συντήρηση διακομιστή και βελτιωμένη βελτιστοποίηση προϊόντων.`,
        },
        {
          title: `Είναι περιορισμένες οι λήψεις μου για βίντεο Instagram;`,
          content: `Είναι προφανώς δωρεάν και διαθέσιμο για απεριόριστες λήψεις.`,
        },
        {
          title: `Ποια είναι η τοποθεσία των βίντεο Instagram που λαμβάνονται;`,
          content: `Ο φάκελος λήψης είναι όπου αποθηκεύεται συχνά στα τηλέφωνα. Για να δείτε το ιστορικό λήψεων του υπολογιστή σας, χρησιμοποιήστε Ctrl + J.`,
        },
      ],
    };
  },
  computed: {
    ...mapGetters(["language"]),
  },
  mounted() {
    this.debouncedDownInput = this.debounce(this.downInput, 1000);
  },
  methods: {
    async downloadHandel() {
      if (this.isHttpLoading || this.input === "") return;
      this.isHttpLoading = false;
      this.httpError1 = false;
      this.httpError2 = false;
      this.input = this.input.replace(/^.*\s?https:\/\//, "https://");
      let type = checkString(this.input);
      const insUrlPattern = new RegExp("^http(s|)://.*instagram.com.*/.*$");
      if (!insUrlPattern.test(this.input)) {
        //点击解析下载按钮
        handleClick("action_ins_detect_boinsom", {
          site: "other",
          noislink: this.input,
          from: "reel",
          type: type,
        });
        this.httpError2 = true;
        this.isHttpLoading = false;
        return;
      }
      //点击解析下载按钮
      handleClick("action_ins_detect_boinsom", {
        site: "other",
        from: "reel",
        type: type,
      });
      //开始解析  ins_start_resolve
      handleClick("ins_start_resolve", {
        islink: this.input,
        from: "reel",
        type: type,
      });
      this.isHttpLoading = true;
      try {
        let result = this.uki(this.input);
        const response = await fetch(
          "https://savinginsta.com/api/downloader/analysis",
          {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify({
              path: result,
            }),
          }
        );
        let encryptedResponse = await response.text();
        let parse = JSON.parse(encryptedResponse);
        if (parse.code != 200) {
          // 解析失败  ins_resolve_fail
          handleClick("ins_resolve_fail", {
            reason: "Failed to fetch",
            islink: this.input,
            from: "reel",
            type: type,
          });
          this.httpError1 = true;
          this.isHttpLoading = false;
          return;
        } else {
          //解析成功  ins_resolve_success
          handleClick("ins_resolve_success", {
            type: type,
            from: "reel",
          });
          let decryptedResponse = await this.eki(parse.data); // 使用你的解密函数
          this.successList = JSON.parse(decryptedResponse);
          this.success = true;
          this.isHttpLoading = false;
        }
      } catch (error) {
        // 解析失败  ins_resolve_fail
        handleClick("ins_resolve_fail", {
          reason: "Failed to fetch",
          islink: this.input,
          from: "reel",
          type: type,
        });
        console.error(error);
        this.httpError1 = true;
        this.isHttpLoading = false;
      }
    },

    uki(input) {
      let CIPHER_ALGORITHM = "DES-CBC";
      let IV_SIZE = 8;
       
      
  try {
        const complexKey = [
          process.env.part1,
          process.env.part2,
          process.env.part3,
          process.env.part4,
          process.env.part5,
          process.env.part6,
          process.env.part7,
          process.env.part8,
        ].join("");
        const keyBytes = CryptoJS.enc.Utf8.parse(complexKey);
        const inputBytes = CryptoJS.enc.Utf8.parse(input);
        const ivBytes = CryptoJS.lib.WordArray.random(IV_SIZE);
        const encrypted = CryptoJS.DES.encrypt(inputBytes, keyBytes, {
          iv: ivBytes,
          mode: CryptoJS.mode.CBC,
          padding: CryptoJS.pad.Pkcs7,
        });
        const ciphertext = ivBytes.concat(encrypted.ciphertext);
        return ciphertext.toString();
      } catch (error) {
        console.error(error);
        return null;
      }
    },
    eki(cipherText) {
      let CIPHER_ALGORITHM = "DES-CBC";
      let IV_SIZE = 8;
       
      const complexKey = [
          process.env.part1,
          process.env.part2,
          process.env.part3,
          process.env.part4,
          process.env.part5,
          process.env.part6,
          process.env.part7,
          process.env.part8,
        ].join("");
      try {
        let keyBytes = CryptoJS.enc.Utf8.parse(
          complexKey.padEnd(CIPHER_ALGORITHM === "DES-CBC" ? 8 : 16)
        );
        let ivBytes = { iv: CryptoJS.enc.Hex.parse(process.env.DES_IV) }; // 如果使用CBC模式，需要一个初始化向量iv，这里是空向量
        let decrypted = CryptoJS.DES.decrypt(
          { ciphertext: CryptoJS.enc.Hex.parse(cipherText) },
          keyBytes,
          ivBytes
        );
        return decrypted.toString(CryptoJS.enc.Utf8);
      } catch (e) {
        console.error(e);
        return null;
      }
    },
    sendDownload(event) {
      if (event.keyCode === 13 && !this.isHttpLoading) {
        this.downloadHandel();
        event.preventDefault();
        return false;
      }
    },
    changeTab(k) {
      this.current = k;
    },
    handleInput(e) {
      this.debouncedDownInput(e);
    },
    debounce(fn, delay) {
      let timer;
      return function () {
        let context = this;
        let args = arguments;
        clearTimeout(timer);
        timer = setTimeout(() => {
          fn.apply(context, args);
        }, delay);
      };
    },
    downInput(e) {
      let type = checkString(e.target.value);
      // 粘贴链接到输入框 action_ins_paste
      handleClick("action_ins_paste", {
        islink: e.target.value,
        from: "reel",
        type: type,
      });
    },
    handleClickPasted() {
      if (!navigator.clipboard) {
        console.log("Clipboard API not available");
        return;
      }
      navigator.clipboard
        .readText()
        .then((text) => {
          this.input = text;
          let type = checkString(text);
          // 粘贴链接到输入框 action_ins_paste
          handleClick("action_ins_paste", {
            islink: text,
            from: "reel",
            type: type,
          });
        })
        .catch((err) => {
          console.error("Failed to read clipboard contents: ", err);
        });
    },
    showLanguageHandel() {
      this.$refs.languageRef.close();
    },
    refresh() {
      this.success = false;
      this.input = "";
      this.successList = [];
    },
  },
};
</script>
    <style lang="scss" scoped>
 @import "@/static/style/reels.css";
.loading {
  .loading-dots {
    position: relative;
    z-index: 999;
    margin-top: 70px;
  }

  .dot {
    background-color: #ffffff;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin: 0 10px;
    animation: loading-animation 1.5s infinite;
  }

  .dot:nth-child(2) {
    animation-delay: 0.5s;
  }

  .dot:nth-child(3) {
    animation-delay: 0.8s;
  }
  .dot:nth-child(4) {
    animation-delay: 1s;
  }
}
@keyframes loading-animation {
  0%,
  50%,
  80%,
  100% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.5);
  }
}
@media (max-width: 768px) {
  .loading {
    .loading-dots {
      margin-top: 26px !important;
    }
    .dot {
      width: 8px !important;
      height: 8px !important;
    }
  }
}
</style>
    